package io.osw.modules.sys.service.impl;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import io.osw.common.utils.PageUtils;
import io.osw.common.utils.Query;
import io.osw.modules.sys.dao.TblConfDao;
import io.osw.modules.sys.entity.TblCompanyEntity;
import io.osw.modules.sys.entity.TblConfEntity;
import io.osw.modules.sys.service.TblCompanyService;
import io.osw.modules.sys.service.TblConfService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;


@Service("tblConfService")
public class TblConfServiceImpl extends ServiceImpl<TblConfDao, TblConfEntity> implements TblConfService {


    @Autowired
    private TblCompanyService tblCompanyService;
    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        String paramKey = (String)params.get("paramKey");
        Page<TblConfEntity> page = this.selectPage(
                new Query<TblConfEntity>(params).getPage(),
                new EntityWrapper<TblConfEntity>()
                        .like(StringUtils.isNotBlank(paramKey),"param_key", paramKey)
                        .eq("status", 1)
        );
        List<TblConfEntity> records = page.getRecords();
        for(TblConfEntity rec:records){
            if(rec==null){
                return null;
            }
            TblCompanyEntity tblCompanyEntity = tblCompanyService.selectById(rec.getCompanyId());
            rec.setCompanyName(tblCompanyEntity.getCompanyName());
        }
        return new PageUtils(page);
    }

}
